for 문으로 약간 복잡한 수학의 팩토리얼 값을 구하는 예제를 다루어 보겠습니다. 팩토리얼이란 1부터 양의 정수 n까지의 정수를 모두 곱한 것을 말합니다. 1~4의 팩토리얼 값이라면 1 * 2 * 3 * 4의 결괏값인 24가 나옵니다.

<코드> for_factorial.c

//[?] for 문을 사용하여 1부터 4까지의 팩토리얼 값을 출력하는 프로그램

#include <stdio.h>

 

int main(void)

{

    int fact = 0;

 

    for (int i = 1; i <= 4; i++) // 1부터 4까지 팩토리얼 구하기

    {

        printf("%d! -> ", i);

        fact = 1; // 1 초기화

        for (int j = 1; j <= i; j++) // 1부터 i까지 반복해서 곱해서 누적하기

        {

            fact = fact * j; // (((1 * 1) * 2) * 3) * 4

        }

        printf("%2d\n", fact);

    }

 

    return 0;

}

</코드>

<실행>

1! ->  1

2! ->  2

3! ->  6

4! -> 24

</실행>

팩토리얼을 구하는 방법은 굉장히 많이 있는데요. 가장 단순한 형태로 fact 변수에 1부터 n까지의 정수의 값을 곱해서 누적하는 방법이 있습니다. %2d 형태를 사용하여 2자릿수를 잡고 숫자를 출력하고 있습니다.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

감사합니다.

 

Comments


Comments are closed